package com.pulanit.pangu.admin.business.api.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 文稿
 * </p>
 *
 * @author 天鸣
 * @since 2024-02-20
 */
@Getter
@Setter
@TableName("article")
public class Article implements  Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 唯一标识
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 投稿人
     */
    @TableField("article_user_id")
    private Long articleUserId;

    /**
     * 投稿人
     */
    @TableField(exist = false)
    private Long articleUserName;

    /**
     * 领域ID
     */
    @TableField("field_id")
    private Long fieldId;

    /**
     * 领域
     */
    @TableField(exist = false)
    private String fieldName;

    /**
     * 栏目ID
     */
    @TableField("column_id")
    private Long columnId;

    /**
     * 栏目
     */
    @TableField(exist = false)
    private String columnName;

    /**
     * 文稿标题
     */
    @TableField("article_title")
    private String articleTitle;

    /**
     * 附件地址
     */
    @TableField("article_file")
    private String articleFile;

    /**
     * 附件地址
     */
    @TableField(exist = false)
    private String downloadFile;

    /**
     * 文稿状态（0未提交，1审核中，2审核通过，3未通过，4已退稿, 5废弃）
     */
    @TableField("article_status")
    private Integer articleStatus;

    @TableField(exist = false)
    private Integer checkStatus;

    /**
     * 发布状态（0未发布，1已发布）
     */
    @TableField("publish_status")
    private Integer publishStatus;

    /**
     * 审核个数
     */
    @TableField("check_num")
    private Integer checkNum;

    /**
     * 是否分配专家
     */
    @TableField("allot")
    private Integer allot;

    /**
     * 审核个数
     */
    @TableField("success_num")
    private Integer successNum;

    /**
     * 中文摘要
     */
    @TableField("abstract_zn")
    private String abstractZn;

    /**
     * 英文摘要
     */
    @TableField("abstract_en")
    private String abstractEn;

    /**
     * 关键字
     */
    @TableField("keyword")
    private String keyword;

    /**
     * 提交时间
     */
    @TableField("submit_date")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime submitDate;

    /**
     * 发布时间
     */
    @TableField("publish_date")
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime publishDate;

    /**
     * 逻辑删除标志
     */
    @TableField("deleted")
    private Integer deleted;
}
